'''
功能：将一个文件夹中的文件按照它们的创建时间整理到相应的目录中
'''
import os
import shutil
from datetime import datetime

def organize_files(source_folder):
    # 获取源文件夹中的所有文件和文件夹
    files = os.listdir(source_folder)

    for file in files:
        # 构建文件的完整路径
        file_path = os.path.join(source_folder, file)

        try:
            if os.path.isfile(file_path):
                # 获取文件的创建时间
                creation_time = datetime.fromtimestamp(os.path.getctime(file_path))

                # 构建目标文件夹的路径，格式为YYYYMM
                target_folder = os.path.join(source_folder, creation_time.strftime('%Y%m'))

                # 如果目标文件夹不存在，则创建它
                if not os.path.exists(target_folder):
                    os.makedirs(target_folder)

                # 将文件移动到目标文件夹
                shutil.move(file_path, target_folder)

                print(f"Moved {file} to {target_folder}")

            elif os.path.isdir(file_path):
                # 如果是文件夹，则递归调用organize_files函数
                organize_files(file_path)
        except Exception as e:
            print(f"Failed to move {file}: {str(e)}")


# 指定要整理的文件夹路径
source_folder = r'C:\Users\Administrator\Desktop\dos'

# 调用函数开始整理文件
organize_files(source_folder)
